from sqlalchemy import create_engine
from sqlalchemy.ext.declarative import declarative_base

# 数据库实体的基础类，
# 其它数据实体类里的declarative_base都引用这一个Base
# 这样才能在根程序启动时调用init方法初始创建数据表
Base = declarative_base()

# 初始化数据库，创建定义的数据库
def init_database(app, uri):
    db_engine = create_engine(uri)
    Base.metadata.create_all(bind=db_engine)

# 获取数据库引擎
def create_db_engine(db_connection):
    db_engine = create_engine(db_connection)
    return db_engine

def commit_session(session):
    try:
        session.commit()
        return True
    except:
        session.rollback()
        return False
    finally:
        session.close()

